#ifndef SCATU_API_H_
#define SCATU_API_H_

#include "scatu/Functions.h"
#include "scatu/Common.h"
#include "scatu/DataAdapters.h"
#include "scatu/RequestData.h"

namespace scatu {

template<TSide S>
class Api
    {
public:
    
    // Concatenates two strings
    typedef RRequestData1<TDesC> ConcatenateRetType;
    typedef RRequestData2<TDesC, TDesC> ConcatenateArgsType;
    RSynchronousRequest<S, EConcatenate, ConcatenateRetType, ConcatenateArgsType> iConcatenate;
    
    // Asynchronous version of above
    RAsynchronousRequest<S, EConcatenateAsync, ConcatenateRetType, ConcatenateArgsType> iConcatenateAsync;
    
    typedef RRequestData1<TInt> SumRetType;
    typedef RRequestData2<TInt, TInt> SumArgsType;
    RSynchronousRequest<S, ESum, SumRetType, SumArgsType> iSum;
    
    };
} // namespace

#endif /* SCATU_API_H_ */
